// 泛型相当于就是js中的变量.但是泛型是专门用来接收类型的
// function createArray<T>(length: number, value: T): Array<T> {
//   let result = []
//   for (let i = 0; i < length; i++) {
//     result[i] = value
//   }
//   return result
// }

// createArray<string>(3, 'x')[0].trim()
// createArray<number>(2, 9)[1].trim()

// 注意: 因为定义泛型的时候,根本不知道泛型具体是什么类型.所以不可以让泛型调用属性或方法
// function reverse<T>(x: T): T {
//   if (typeof x === 'number') {
//     return Number(x.toString().split('').reverse().join(''))
//   } else if (typeof x === 'string') {
//     return x.split('').reverse().join('')
//   }
// }

// reverse<number>(123).toFixed()
// reverse<string>('abc').toFixed()
